package com.gpframework.module.module.service;

import com.gpframework.module.module.domain.GpIncomingInspect;
import com.gpframework.module.module.domain.req.GpIncomingInspectUpdate;
import com.gpframework.module.module.domain.vo.GpIncomingInspectVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.util.List;
/**
 * @ClassName GpIncomingInspect
 * @Author gpframework
 * @Date 2023-12-11
 * @Version 1.0.0
 * @Description 来料检验单Service接口
 */
public interface IGpIncomingInspectService extends IService<GpIncomingInspect> {




    /**
     * @Description 查询列表返回VO 用于返回给前端的列表接口
     * @Author gpframework
     * @Date 2023-12-11
     * @Param [lqw]
     * @Return List<GpIncomingInspectVo>
     */
    List<GpIncomingInspectVo> listVo(QueryWrapper<GpIncomingInspect> lqw);

    /**
     * @Description 通过查询详情VO 用于返回给前端的列详情接口
     * @Author gpframework
     * @Date 2023-12-11
     * @Param [id]
     * @Return GpIncomingInspectVo
     */
    GpIncomingInspectVo getVoById(Long id);

    boolean updateByWeightAndWidthAndYardVerify(List<GpIncomingInspectUpdate> gpIncomingInspectUpdateList);

    boolean edit(GpIncomingInspectUpdate gpIncomingInspectUpdate);

    /**
     * 生成 克重表
     * @param gpIncomingInspectUpdate
     * @return
     */
    boolean addWeightMeter(GpIncomingInspectUpdate gpIncomingInspectUpdate);

    boolean addColorFastness(GpIncomingInspectUpdate gpIncomingInspectUpdate);

    boolean addFormalde(GpIncomingInspectUpdate gpIncomingInspectUpdate);

    boolean addQualityfeedback(GpIncomingInspectUpdate gpIncomingInspectUpdate);

    /**
     * 品质问题跟踪明细
     * @param gpIncomingInspectUpdate
     * @return
     */
    boolean qualityIssueTrackDetails(GpIncomingInspectUpdate gpIncomingInspectUpdate);

    boolean copy(Long id, Integer copyNum);
}
